package com.itheima.health.dao;

import com.itheima.health.pojo.CheckGroup;

import java.util.HashMap;
import java.util.List;

/**
 * 检查组查询dao
 */
public interface CheckGroupDao {
    /**
     * 按条件查询检查组
     * @param queryString
     * @return
     */
    public List<CheckGroup> findPage(String queryString);

    /**
     * // 向t_checkGroup添加检查组
     * @param checkGroup
     */
    void addCheckGroup(CheckGroup checkGroup);


    /**
     * 中间表添加关系
     * @param map
     */
    void setCheckGroupAndCheckItem(HashMap<String, Integer> map);

    /**
     * 先检查中间关系表中有没有绑定检查项,如果有,不能删除
     * @param id
     * @return
     */
    int isContainItems(Integer id);

    /**
     * 检查套餐中是否包含该检查组,有则不能删除
     * @param id
     * @return
     */
    int isContainedInSetMeal(Integer id);

    /**
     * 删除检查组
     * @param id
     */
    void deleteGroup(Integer id);

    /**
     * 按id查询检查组
     * @param id
     * @return
     */
    CheckGroup findById(Integer id);

    /**
     * 根据setmeal id 查询检查组
     * @param id
     * @return
     */
    CheckGroup findBySetmealId(Integer id);

    /**
     * 按检查组id查询检查项目
     * @param id
     * @return
     */
    List<Integer> getGroupItemIds(Integer id);

    /**
     * 清除原有的group与checkItem的中间关系
     * @param checkGroup
     */
    void release(CheckGroup checkGroup);

    /**
     * 更新检查组信息
     * @param checkGroup
     */
    void updateGroup(CheckGroup checkGroup);
}
